home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 4 / MacMania 4.toast / / Tools&Utilities / MathPad 2.4 / What's New < prev   
Text File  |  1996-04-08  |  6KB  |  105 lines

  1. ~
  2.                  MathPad 2.4 Changes
  3.  
  4.           New capabilities:
  5. * native PowerPC and 68K applications
  6. * plots an array of functions as a family of curves
  7. * log axes
  8. * variable strip height
  9. * Z axis label: Zlabel="label"
  10. * Zoom box now sets window to printer page aspect
  11. * plot option variables: XY showgrid, XY ticklabels, Zshowbar
  12. * general Boolean expressions
  13. * defined constants "on" and "off"
  14. * special value "Radians", cos(pi*Radians) is always -1
  15. * improved background processing
  16. * support for minimal AppleEvents
  17. * reads UNIX or PC style text files
  18. * new callbacks allow XFuns to create windows etc.
  19. * distribution contains several XFuns including: 3D plotting, slider bar control of variables, FFT routines for signal processing, sound synthesizer routines etc.
  20.  
  21.           Bug Fixes:
  22. * fixed a "conflict" with an extension called LOBE
  23. * table command now always does Nsteps rows
  24. * stack cushion increased to avoid crash on deep recursions
  25. * sometimes printed text at very small size
  26. * assigning unknown values to an array gave garbage 1st element
  27. * assigning unknown value to a scalar did nothing, now assigns NAN
  28. * double loaded XFun if it was the last file in the directory list
  29. * error handling for {1,2,,3}
  30.  
  31.           New documentation:
  32. * The XFun "intro help" adds some very simple examples to the help menu. If you don't need these, just move this file to the trash.
  33. * The file "MathPad.doc" remains essentially the same but has been updated for version 2.4.
  34. * The file "Plotting" has been updated.
  35. * The files "Log Axes","3D Plotting" and "Customizing" have been added.
  36. * Examples have been updated slightly. Fixed a bug in "minimize".
  37. * New examples: "harmonics", "Chebshev", "spectrogram" and "pulse amp"
  38. * More XFun kit documentation.
  39.  
  40. ~
  41. --------------- Details, Details ---------
  42.  
  43. ----- MathPad has been reworked to allow it to be compiled for either 68K or PowerPC CPUs. Both applications are included in this distribution. The applications should function identically except for speed and small numerical differences due to the different floating point format on the PowerPC.
  44. -- The 68K version NOW REQUIRES SYSTEM 7 and a 68020 or better processor.
  45. -- The 68K application should give a minor speed increase (a few %) over version 2.3.
  46. -- The PowerPC application is about 3 times faster than running the 68K application in emulation.
  47.  
  48.  
  49. ----- An array of 3 or more functions now generates a multi trace plot.
  50.  
  51.   f(t)[i] = 100*i/(t+i) dim[10]  -- an array of 10 functions
  52.  
  53. ----- Options for log axes have been added. Log axes can be turned on and off via the Options... dialog. They can also be controlled individually for each strip via special variables.
  54. ----- Variables have been added to allow turning parts of the axis on or off for each strip. Xshowgrid, Xticklabels, Yshowgrid, Yticklabels, Zshowbar
  55.  
  56.   Ylogaxis:=on:
  57.   Xshowgrid:=on:;  -- grid lines controlled individually
  58.   Yshowgrid:=on:
  59.   Xmin=1; Xmax=100; Ymin=1; Ymax=100
  60.   plot f(X)        -- plot 10 traces
  61.   plot X
  62.  
  63.   newaxis
  64.   Ylogaxis:=off:
  65.   Xlogaxis:=on:
  66.   plot X
  67.  
  68. -- Ydiv (or Xdiv) can be used to control the number of labeled ticks on the log axis. The concept of distance between ticks doesn't quite apply to a log axis but the basic idea is the same. Higher value divs gives fewer ticks. Ydiv=1 gives all ticks. Ydiv=10 labels only the decades. Ydiv=20 labels every other decade.
  69.  
  70.   newaxis
  71.   Ydiv:=3:
  72.   Ylogaxis:=on:
  73.   Xlogaxis:=on:
  74.   plot X
  75.  
  76.  
  77. ------- The meaning of the "Ystrips" has been expanded to allow control over the relative height of each strip. Ystrips can either be set to the number of equal height strips (Ex. Ystrips=3) or it can be set to an array where the elements give a relative height for each strip.
  78.  
  79.   Ystrips = {1.7,1,1}  -- 1st strip is given 70% more
  80.  
  81.  
  82. ------ Boolean operators (and or not known unknown) and relational operators ( > < == != >= <= ) are now allowed in any expression. One effect of this is that the restriction against using parens in "when" or "while" conditions has been removed. MathPad now uses the C convention that any expression can be used as a boolean. Non-zero values mean true, 0 means false. The result of a comparison operator will be 0 for false and 1 for true. The == form of the equal comparison operator must usually be used to avoid confusion.
  83.  
  84.   a=2
  85.   a when 1=1:2;  -- '=' as comparison is still allowed here
  86.   a == 1+1:1;    -- '==' is required here
  87.  
  88.   {1,2,3,4,5} ==  {5,4,3,2,1}:{0,0,1,0,0}
  89.   {1,1,1,0,0} and {0,1,0,1}:{0,1,0,0,0}
  90.   {1,1,1,0,0} or  {0,1,0,1}:{1,1,1,1,?}
  91.  
  92.  
  93. ------ The reserved word "Radians" can be used for trig calculations that are independent of the Degrees/Radians menu option choice. The value of Radians is 1 when radians are selected and 57.3 when degrees are selected.
  94.  
  95.   cos(pi*Radians):-1; -- -1 for either Degrees/Radians setting
  96.  
  97.  
  98. ------ The zoom box now sets the window to the current printer page aspect. This allows a sort of print preview so you can position labels appropriately for printout. Option zoom will expand the window to the full screen.
  99.  
  100. ------ MathPad now supports minimal AppleEvents so it can be controlled by AppleScript etc. To provide a quick and dirty means of scripting batch plots, the PrintDocuments event will open the document, evaluate it and then print the plot.
  101.  
  102. ------ Background processing has been changed to take smaller time slices. This means that running MathPad in the background should cause a less noticeable load on your system. Also the plot window now stays visible during background processing. In some cases it will defer updating until it finishes processing.
  103.  
  104. ------ MathPad now automatically converts UNIX (LF) or PC (CRLF) line terminators to Mac (CR) format when it reads in a document. This makes it easier to handle text files from other machines or from web browsers that don't know how to save Mac text files.
  105.